package cn.wolfcode.crm.mapper;

import cn.wolfcode.crm.domain.Client;
import cn.wolfcode.crm.query.ClientQueryObject;

import java.util.List;

public interface ClientMapper {
    int deleteByPrimaryKey(Long id);

    int insert(Client record);

    Client selectByPrimaryKey(Long id);

    List<Client> selectAll();

    int updateByPrimaryKey(Client record);

    int queryForCount(ClientQueryObject qo);

    List<Client> queryForList(ClientQueryObject qo);

    /**
     * 查询正式客户信息总数
     */
    int queryForFormalClientCount(ClientQueryObject qo);

    /**
     * 查询正式客户信息
     */
    List<Client> queryForFormalClientList(ClientQueryObject qo);

    Client queryClientIdsStoraId(Long stoId);

    void absorb(Client record);

    void movesource(Client record);

    void admovesource(Client record);

    void upPrincipalAfterTrunOver(Client client);

    void updateClientPositiveFromPlan(Client client);

    List <Client> queryForXls (int state);

}